The invention relates to a method for resetting a processor by means of a watchdog, wherein the processor performs initialization and sends acknowledgement pulses at predetermined intervals to the watchdog, and wherein the watchdog generates and transmits reset pulses to the processor.
The invention further relates to a watchdog for generating a reset pulse to a processor which can initialize itself and which sends acknowledgement pulses at predetermined intervals to the watchdog comprising transmission means for generating reset pulses and transmitting them to the processor.
It is previously known to use watchdogs in a processor and microprocessor environment. A watchdog is used for generating a reset pulse and transmitting it to a microprocessor, when the microprocessor or some other part of a microprocessor system has for some reason entered into an unstable state. When the microprocessor receives a reset pulse, it performs the reset in a controlled manner. After the reset, the microprocessor initializes itself for instance by loading the operating system, and after that tries to continue to operate normally.
A watchdog may monitor acknowledgement pulses sent by a microprocessor in many different ways. It is known to use watchdogs based on a counter or on allocation of capacitance. If the acknowledgement pulses are received too late, the watchdogs send a reset pulse to the microprocessor. However, the known watchdogs are not sufficiently reliable. In addition, by means of the known watchdogs, it has not been possible to determine the correct transmission moment of a reset pulse efficiently and accurately enough. The known watchdogs, moreover accept acknowledgement pulses that are received too frequently.
The object of the present invention is to provide a watchdog that measures acknowledgement pulses sent by a microprocessor and, if necessary, transmits reset pulses on the basis of the measurement.
This is achieved with a method of the type disclosed in the introductory portion, said method being characterized by setting a limit value to the number of reset pulses generated during the initialization of the processor, counting the number of reset pulses generated during the initialization, measuring the interval between the acknowledgement pulses sent by the processor, and when the interval between the acknowledgement pulses differs from the predetermined interval, transmitting a reset pulse.
The watchdog of the invention is characterized by comprising counter means for counting the number of reset pulses generated during initialization and for setting a predetermined limit value to reset pulses, measuring means for measuring the interval between acknowledgement pulses sent by the processor, and transmission means for transmitting a reset pulse when the interval between acknowledgement pulses differs from a predetermined interval.
The solution of the invention has significant advantages. Acknowledgement pulses sent by a microprocessor are measured accurately and reliably, since the solution is digital. The measurement of acknowledgement pulses is based on measuring the interval between the pulses, which allows a reset pulse to be sent to the processor when a fault occurs in the microprocessor system. In addition, the transmission of reset pulses from a watchdog of the invention during the initialization of the microprocessor is prevented by means of a suitable starting delay.
The preferred embodiments of the method and watchdog of the invention are disclosed in the attached dependent claims.